﻿<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>个人简历-王维山</title>
</head>
<body>
    <div class="container">
        <hr>
        <div class="row">
            <div class="col-6">
                <h1>王维山</h1>
            </div>

        </div>
        <hr>
        <div class="row">
            <div class="col-xs-6 col-md-4 col-5"><img width="150px" src="/image/GM.jpg" alt="Generic placeholder image"></div>
            <div class="col-xs-6 col-sm-6 col-md-8 col-6">

                <div class="row justify-content-md-around m-1">
                    <address>
                        <strong>王维山</strong><br>
                        福州市 晋安区 福建工程学院<br>
                        手机：<abbr title="Phone">18250156433</abbr> <br>
                        微信：wws491929461<br>
                        邮箱：<a href="mailto:#">491929461@qq.com</a><br>
                        GitHub:<a href="https://github.com/StarPlatinumStudio"> StarPlatinumStudio</a>
                    </address>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-12">
                <hr>
                <div class="media">

                    <div class="media-body">
                        <h2>技能概述</h2>
                        <hr>
                        <h5 class="mt-0">全栈开发</h5>
                        <ul>
                            <li>大三软件工程在读，擅长基于.Net Core框架、云计算的B/S项目开发及部署.</li>
                            <li>有服务器操作经验（window server 2008中IIS配置部署、SSL申请安装）,有通过备案的个人域名</li>
                            <li>会用HTML开源框架搭配JavaScript、JQuery开发前端页面，使用Echarts进行数据可视化开发</li>
                            <li>掌握C#和JS解析和操作JSON数据，使用AJAX技术进行前后端交互</li>
                            <li>有一人完成的B/S架构上的GIS系统</li>
                            <li>有一人完成的机器学习、人工智能项目。</li>
                            <li>会MySQL、SQL Server数据库操作</li>
                            <li>不断学习进步，狂热追求新技术，热爱社交，喜欢创新和设计，希望能学习积累更多的实践经验。</li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
        <hr>
        <div class="row">
            <div class="col-md-6 col-sm-12">
                <h2>教育情况</h2>
                <hr>
                <div class="row">
                    <div class="col-6">
                        <h4>福建工程学院</h4>
                    </div>
                    <div class="col-6">
                        <h5 class="text-right"><span aria-hidden="true"></span> 2016年 - 至今</h5>
                    </div>
                </div>
                <h5><span class="badge badge-secondary">本科</span></h5>
                <p>目前就读于福建工程学院，软件工程专业大三在读，在校曾获得福建工程学院软件设计大赛优秀奖，.Net专业课得分93.5分全班第一。</p>
                <div class="row">
                    <div class="col-6 col-xl-6">
                        <h4>英语证书： </h4>
                    </div>
                    <div class="col-6 col-xl-6">
                        <h4> CET4 459分</h4>
                    </div>
                    <div class="col-6 col-xl-6">
                        <h4>培训经历： </h4>
                    </div>
                    <div class="col-6 col-xl-6">
                        <h5>人工智能与应用创新课程-美国南加州大学金雁教授（Yan Jin）</h5>
                    </div>
                </div>
            </div>
            <div class="col-md-6 col-sm-12">
                <h2>技能掌握</h2>
                <hr>
                点击查看详情
                <div id="container" style="height:700px;width:100%"></div>
                @*<div class="progress mt-4">
                    <div class="progress-bar bg-info" role="progressbar" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100" style="width: 60%"> C#</div>
                </div>
                <div class="progress mt-4">
                    <div class="progress-bar bg" role="progressbar" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100" style="width: 58%"> .Net Core</div>
                </div>
                <div class="progress mt-4">
                    <div class="progress-bar bg-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 56%"> HTML</div>
                </div>
                <div class="progress mt-4">
                    <div class="progress-bar bg-secondary" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width: 55%"> JAVASCRIPT</div>
                </div>
                <div class="progress mt-4">
                    <div class="progress-bar " role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 54%"> 机器学习</div>
                </div>
                <div class="progress mt-4">
                    <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 45%"> SQL</div>
                </div>*@



            </div>
        </div>

        <hr>
        <h2>项目经验</h2>
        <hr>
        <div class="row">



            <div class="col-md-6 col-sm-12">
                <div class="row">
                    <div class="col-5 col-xl-12">
                        <h4>AI小鹿-人工智能语音助手</h4>
                    </div>
                </div>
                <h5><span class="badge badge-secondary">网页、语音交互、智能客服</span></h5>
                <p>基于阿里云小蜜、百度智能语音于开发的网页语音客服/助手,小鹿可以作为其他功能模块的快捷入口，不信你问她："导航去老周三村"或者"推荐个村落"试试。</p>
                <ul>
                    <li>负责架构设计、前后端代码编写</li>
                </ul>
                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal_2">
                    查看技术细节
                </button>

                <!-- Modal -->
                <div class="modal fade" id="myModal_2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h4 class="modal-title" id="myModalLabel">AI小鹿-人工智能语音助手</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            </div>
                            <div class="modal-body">
                                <img class="img-responsive" width="480" src="~/image/AI小鹿vsd.jpg" />
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">好的</button>
                            </div>
                        </div>
                    </div>
                </div>
                <a class="btn btn-success btn-lg" href="/Home/AIChat" role="button">点击查看项目</a>
            </div>

            <div class="col-md-6 col-sm-12">
                <br />
                <div class="row">
                    <div class="col-5 col-xl-12">
                        <h4>基于机器学习的村落推荐系统</h4>
                    </div>
                </div>
                <h5><span class="badge badge-secondary">机器学习、推荐系统</span></h5>
                <p>收集处理3500条真实数据，进行逻辑回归二分类算法(Logistic Regression)训练得到模型，在中服务器解析提供推荐服务</p>
                <ul>
                    <li>负责架构设计、前后端代码编写</li>


                </ul>
                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal_1">
                    查看详细流程
                </button>

                <!-- Modal -->
                <div class="modal fade" id="myModal_1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h4 class="modal-title" id="myModalLabel">村落推荐</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            </div>
                            <div class="modal-body">
                                机器学习流程：
                                <img class="img-responsive" width="480" src="~/image/机器学习.jpg" />
                                村落推荐程序：
                                <img class="img-responsive" width="480" src="~/image/村落推荐.jpg" />
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">好的</button>
                            </div>
                        </div>
                    </div>
                </div>
                <a class="btn btn-success btn-lg" href="/Home/Recommend3" role="button">点击查看项目</a>
            </div>

            <hr />
            <div class="col-md-6 col-sm-12">
                <br />
                <div class="row">
                    <div class="col-5 col-xl-12">
                        <h4>村落导览-基于谷歌地图API的GIS系统</h4>
                    </div>
                </div>
                <h5><span class="badge badge-secondary">谷歌地图，寻路算法</span></h5>
                <p>针对国内常用地图无法精确到偏远无地理信息地区的难题，选择使用谷歌卫星地图，根据卫星地图绘制地理信息，在服务器进行寻路和导航计算</p>
                <ul>
                    <li>负责架构设计、前后端代码编写</li>
                </ul>
                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal_map">
                    查看详细流程
                </button>

                <!-- Modal -->
                <div class="modal fade" id="myModal_map" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h4 class="modal-title" id="myModalLabel">村落导览（开发中）</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            </div>
                            <div class="modal-body">

                                <img class="img-responsive" src="~/image/总体设计.jpg" />

                                <img class="img-responsive" width="480" src="~/image/寻路流程.jpg" />
                                <img class="img-responsive" width="480" src="~/image/点信息.jpg" />
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">好的</button>
                            </div>
                        </div>
                    </div>
                </div>
                <a class="btn btn-success btn-lg" href="/Home/VillageGuider" role="button">点击查看项目</a>
            </div>
            <hr />
            <div class="col-md-6 col-sm-12">
                <br />
                <div class="row">
                    <div class="col-5 col-xl-12">
                        <h4>代达罗-启动器</h4>
                    </div>
                </div>
                <h5><span class="badge badge-secondary">WPF、JS</span></h5>
                <p>使用CefSharp在C#用户控件中嵌入Chrome浏览器，在C/S架构项目中编写前端页面交互实现控制下载、更新、本机文件管理</p>
                <ul>
                    <li>负责服务器全部代码编写，客户端的更新、下载、电子锁模块的设计和代码编写</li>
                </ul>
                <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal_ddl">
                    查看演示视频

                </button>
                <!-- Modal -->
                <div class="modal fade" id="myModal_ddl" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h4 class="modal-title" id="myModalLabel">代达罗-启动器</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="playPause()"><span aria-hidden="true">&times;</span></button>
                            </div>
                            <div class="modal-body">
                                视频大小：14 M
                                <!-- 16:9 aspect ratio --><div class="embed-responsive embed-responsive-16by9"><video id="ddl" preload="none" controls="controls" src="~/lib/ddl.Ogg"></video></div>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal" onclick="playPause()">好的</button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <hr />

        <div class="col-md-6 col-sm-12">
            <br />
            <div class="row">
                <div class="col-5 col-xl-12">
                    <h4>英语启蒙教育资源平台</h4>
                </div>
            </div>
            <h5><span class="badge badge-secondary">摄影、视频、网站开发</span></h5>
            <p>英语启蒙教育机构的教育资源平台的开发管理，家长只需打开微信订阅号就可以查看孩子上课照片、活动视频、文章库、音乐库等资源,该项目已在福州言桥教育开办的培训班为百名家长提供稳定、高速的信息服务。</p>
            <ul>
                <li>负责文章库、音乐库的.Net Core Web app的开发与发布</li>
                <li>负责活动照片拍摄、后期处理、视频制作（特效+剪辑）</li>
                <li>相册存储基于腾讯微云平台</li>

            </ul>
            <a class="btn btn-success btn-lg" href="https://teresalanguagecenter.cn/" role="button">点击查看项目</a>
        </div>

        <hr />

        <div class="col-md-6 col-sm-12">
            <br />
            <div class="row">
                <div class="col-5 col-xl-12">
                    <h4>推广招生问卷</h4>
                </div>
            </div>
            <h5><span class="badge badge-secondary">推广、注册、数据库转Excel</span></h5>
            <p>英语启蒙教育机构的招生推广程序，使用微信UI编写界面，给用户信任与户安全感,SMS短信服务获取用户真实手机号，表单验证严谨。有管理员界面方便查看数据，使用NPOI实现数据库数据转Excel文档导出下载</p>
            <ul>
                <li>负责架构设计、前后端代码编写</li>
            </ul>
            <a class="btn btn-success btn-lg" href="https://teresalanguagecenter.cn/home/sms_form" role="button">查看客户页面</a>
            <a class="btn btn-success btn-lg" href=" https://teresalanguagecenter.cn/home/administrator" role="button">查看管理员页面</a>

        </div>
        <hr />

        <div class="col-md-6 col-sm-12">
            <br />
            <div class="row">
                <div class="col-5 col-xl-12">
                    <h4>数据可视化DEMO</h4>
                </div>
            </div>
            <h5><span class="badge badge-secondary">Echarts、WebGL</span></h5>
            <p>数据可视化的练习项目</p>
            <ul>
                <li>负责架构设计、前后端代码编写</li>
            </ul>
            <a class="btn btn-success btn-lg" href="~/echarts/index.html" role="button">查看项目</a>

        </div>
        <hr />
        <div class="col-md-6 col-sm-12">
            <br />
            <div class="row">
                <div class="col-5 col-xl-12">
                    <h4>医院预约系统</h4>
                </div>

            </div>
            <h5><span class="badge badge-secondary">数据库、消息提醒</span></h5>
            <p>.Net课程设计，采用.Net Core Web App网页应用框架开发，前端页面使用AUI框架编写，数据库使用阿里云MySQL云数据库RDS版，部署于微软云计算平台AZURE。</p>
            <ul>
                <li>设计、数据库、前端、后端一人独立完成</li>
            </ul>
            <!-- Button trigger modal -->
            <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
                查看详细功能
            </button>

            <!-- Modal -->
            <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4 class="modal-title" id="myModalLabel">医院预约管理系统的设计与实现</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        </div>
                        <div class="modal-body row pre-scrollable">
                            <pre>

系统角色：
普通患者、普通医生、管理员

角色权限：
普通患者：
	注册系统账号
	浏览医生信息：
	预约就诊
	按时段预约：例如，以10分钟为单位选择时段预约
	医生未结束上一个预约就诊的情况下，患者不能重复预约该医生
	同一时段，不能安排多个预约就诊
	至多提前10天预约，就诊前一天停止预约
	预约管理：
	查询预约信息
	对未执行过的预约进行修改，包括但不局限于：取消预约、调整预约时段（在号源未耗尽的前提下）

普通医生：
	诊断病情：
	确认就诊
	医嘱填写
	辅助预约：
	预约就诊：限本人
	申请调班：
	个人排班调整申请，包括但不局限于停诊、调整班次

院方管理员：
	确认调班申请：
	对医生的调班申请进行审核确认
	如果医生的调班导致已有预约失效，则取消预约，或者调整预约
	科室信息维护：
	维护医生信息：
	新进医生信息维护
	离岗医生信息维护
	医生排班管理：
	设置医生排班信息

添加功能：
	管理员医生照片上传
	管理员实时处理用户解冻申请、医生排班更变申请
	系统账号管理，权限设置，冻结账户、
	用户解冻申请
	科室位置
	SESSION访问拦截
</pre>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">好的</button>
                        </div>
                    </div>
                </div>
            </div>

            <a class="btn btn-success btn-lg" href="http://47.107.254.69:8081/" role="button">点击查看项目(未分配域名请使用浏览器打开)</a>

        </div>

    </div>


        <hr>
        <footer class="text-center">
            <div class="container">
                <div class="row">
                    <div class="col-12">
                        <p>Copyright © Robin Wang All rights reserved.</p>
                    </div>
                </div>
            </div>
        </footer>
    </div>
           <script type="text/javascript" src="https://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
    <script type="text/javascript">
        function playPause() {

            var myVideo = document.getElementsByTagName('video')[0];
                myVideo.pause();
        }

        var dom = document.getElementById("container");
        var myChart = echarts.init(dom);
        var app = {};
        option = null;
        var colors = ['#5e7c85', '#009ad6', '#145b7d', '#77ac98', '#50b7c1'];
        var bgColor = '#FFFFFF';

        var itemStyle = {
            star5: {
                color: colors[0]
            },
            star4: {
                color: colors[1]
            },
            star3: {
                color: colors[2]
            },
            star2: {
                color: colors[3]
            }
        };

        var data = [{
            name: '前端',
            itemStyle: {
                normal: {
                    color: colors[1]
                }
            },
            children: [{
                name: '基础',
                children: [{
                    name: '5☆',
                    children: [{
                        name: 'HTML'
                    }, {
                            name: 'CSS'
                        },
                        {
                        name: 'JavaScript'
                    }, {
                        name: 'JQuery'
                        }, {
                            name: 'Bootstrap'
                        }, {
                            name: 'WEUI'
                        }, {
                            name: 'AUI'
                        }]
                }]
            }, {
                name: '进阶',
                children: [{
                    name: '5☆',
                    children: [{
                        name: 'JSON'
                    }, {
                            name: 'AJAX'
                        }, {
                            name: 'Echarts'
                        }]
                }, {
                    name: '3☆',
                    children: [{
                        name: 'Vue.js'
                    }, {
                            name: 'Element-UI'
                        }]
                }]
            }]
        }, {
            name: '后端',
            itemStyle: {
                color: colors[2]
            },
            children: [{
                name: '基础',
                children: [{
                    name: '5☆',
                    children: [{
                        name: 'C#'
                    }, {
                            name: 'XML'
                        }]
                }, {
                    name: '3☆',
                    children: [{
                        name: 'C'
                    }, {
                            name: 'C++'
                        }, {
                            name: 'Java'
                        },]
                }]
            }, {
                name: 'ASP.Net',
                children: [ {
                    name: '4☆',
                    children: [{
                        name: 'ASP.Net Core Web'
                    },  {
                            name: 'WPF',
                        },{
                        name: 'ASP.Net MVC',
                        }, {
                            name: 'Winform',
                        }]
                }, {
                        name: '3☆',
                        children: [{
                            name: 'LINQ'
                        }]
                    }]
            }, {
                name: '数据库',
                children: [{
                    name: '5☆',
                    children: [{
                        name: 'MySQL'
                    }]
                }, {
                    name: '4☆',
                    children: [{
                        name: 'SQL Server'
                    }, {
                            name: 'ADO.NET'
                    }]
                }, {
                    name: '2☆',
                    children: [{
                        name: 'Entity Framework'
                    }]
                }]
            }, {
                name: '移动开发',
                children: [{
                    name: '3☆',
                    children: [{
                        name: 'Android'
                    }]
                }]
            }]
            }, {
                name: '其他',
                itemStyle: {
                    color: colors[3]
                },
                children: [{
                    name: '云平台',
                    children: [{
                        name: '5☆',
                        children: [{
                            name: '阿里云'
                        }, {
                            name: '百度云'
                            }, {
                                name: 'Google Cloud Platform'
                            }, {
                                name: 'AZURE(太贵了用不起!)'
                            }]
                    }]
                }, {
                    name: '图片/视频合成',
                    children: [{
                        name: '5☆',
                        children: [{
                            name: 'Photoshop' 
                        }, {
                                name: 'Premiere Pro'
                            }
                            , {
                                name: 'After Effects'
                            }]
                    }]
                }, {
                    name: '移动开发',
                    children: [{
                        name: '3☆',
                        children: [{
                            name: 'Android'
                        }]
                    }]
                }, {
                    name: '服务器运维',
                    children: [{
                        name: '5☆',
                        children: [{
                            name: 'IIS'
                        }]
                    }, {
                        name: '3☆',
                        children: [{
                            name: 'Linux'
                        }]
                    }]
                }]
            }];

        for (var j = 0; j < data.length; ++j) {
            var level1 = data[j].children;
            for (var i = 0; i < level1.length; ++i) {
                var block = level1[i].children;
                var bookScore = [];
                var bookScoreId;
                for (var star = 0; star < block.length; ++star) {
                    var style = (function (name) {
                        switch (name) {
                            case '5☆':
                                bookScoreId = 0;
                                return itemStyle.star5;
                            case '4☆':
                                bookScoreId = 1;
                                return itemStyle.star4;
                            case '3☆':
                                bookScoreId = 2;
                                return itemStyle.star3;
                            case '2☆':
                                bookScoreId = 3;
                                return itemStyle.star2;
                        }
                    })(block[star].name);

                    block[star].label = {
                        color: style.color,
                        downplay: {
                            opacity: 0.5
                        }
                    };

                    if (block[star].children) {
                        style = {
                            opacity: 1,
                            color: style.color
                        };
                        block[star].children.forEach(function (book) {
                            book.value = 1;
                            book.itemStyle = style;

                            book.label = {
                                color: style.color
                            };

                            var value = 1;
                            if (bookScoreId === 0 || bookScoreId === 3) {
                                value = 5;
                            }

                            if (bookScore[bookScoreId]) {
                                bookScore[bookScoreId].value += value;
                            }
                            else {
                                bookScore[bookScoreId] = {
                                    color: colors[bookScoreId],
                                    value: value
                                };
                            }
                        });
                    }
                }

                level1[i].itemStyle = {
                    color: data[j].itemStyle.color
                };
            }
        }

        option = {
            backgroundColor: bgColor,
            color: colors,
            series: [{
                type: 'sunburst',
                center: ['50%', '48%'],
                data: data,
                sort: function (a, b) {
                    if (a.depth === 1) {
                        return b.getValue() - a.getValue();
                    }
                    else {
                        return a.dataIndex - b.dataIndex;
                    }
                },
                label: {
                    rotate: 'radial',
                    color: bgColor
                },
                itemStyle: {
                    borderColor: bgColor,
                    borderWidth: 2
                },
                levels: [{}, {
                    r0: 0,
                    r: 40,
                    label: {
                        rotate: 0
                    }
                }, {
                    r0: 40,
                    r: 105
                }, {
                    r0: 115,
                    r: 140,
                    itemStyle: {
                        shadowBlur: 2,
                        shadowColor: colors[2],
                        color: 'transparent'
                    },
                    label: {
                        rotate: 'tangential',
                        fontSize: 10,
                        color: colors[0]
                    }
                }, {
                    r0: 140,
                    r: 145,
                    itemStyle: {
                        shadowBlur: 80,
                        shadowColor: colors[0]
                    },
                    label: {
                        position: 'outside',
                        textShadowBlur: 5,
                        textShadowColor: '#333',
                    },
                    downplay: {
                        label: {
                            opacity: 0.5
                        }
                    }
                }]
            }]
        };
        ;
        if (option && typeof option === "object") {
            myChart.setOption(option, true);
        }
    </script>
</body>
</html>